<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<html>
<head>
    <!--
     HTMLParser Library $Name: v1_6 $ - A java-based parser for HTML
     http://sourceforge.org/projects/htmlparser
     Copyright (C) 2004 Somik Raha

     Revision Control Information

     $Source: /cvsroot/htmlparser/htmlparser/src/org/htmlparser/package.html,v $
     $Author: derrickoswald $
     $Date: 2005/04/05 00:48:12 $
     $Revision: 1.22 $

     This library is free software; you can redistribute it and/or
     modify it under the terms of the GNU Lesser General Public
     License as published by the Free Software Foundation; either
     version 2.1 of the License, or (at your option) any later version.

     This library is distributed in the hope that it will be useful,
     but WITHOUT ANY WARRANTY; without even the implied warranty of
     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
     Lesser General Public License for more details.

     You should have received a copy of the GNU Lesser General Public
     License along with this library; if not, write to the Free Software
     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
    -->
</head>
<body>
The basic API classes which will be used by most developers when working with
the HTML Parser.
<p>The {@link org.htmlparser.Parser} class is the main high level class that
    provides simplified access to the contents of an HTML page.
    A wide range of methods is available to customize the operation of the Parser,
    as well as access specific pieces of the page as
    {@link org.htmlparser.Node Nodes}.</p>

<p>The {@link org.htmlparser.NodeFactory} interface specifies the requirements
    for a developer to have the Parser or Lexer generate nodes. Three types of
    nodes are required: {@link org.htmlparser.Text}, {@link org.htmlparser.Remark}
    and {@link org.htmlparser.Tag Tags}. Tags contain lists
    of child nodes and {@link org.htmlparser.Attribute attributes}.</p>

<p>The only provided implementation of the NodeFactory interface
    is the {@link org.htmlparser.PrototypicalNodeFactory} which
    operates by holding example nodes and cloning them as needed to satisfy the
    requests for nodes by the Parser. By default, a Lexer is it's own NodeFactory,
    returning new {@link org.htmlparser.nodes.TextNode},
    {@link org.htmlparser.nodes.RemarkNode} and undifferentiated
    {@link org.htmlparser.nodes.TagNode Tagnodes} (see the
    {@link org.htmlparser.nodes nodes} package), but when the parser uses a lexer
    it replaces this behaviour with a PrototypicalNodeFactory to return a rich
    set of specific tags (see the {@link org.htmlparser.tags tags} package).</p>

<p>The {@link org.htmlparser.NodeFilter} interface is used by the filtering
    code to determine if a node meets a certain criteria. Some generic examples of
    filters can be found in the {@link org.htmlparser.filters filters} package.
</body>
</html>
